Log In  
BBS > Lexaloffle Community Superblog
This is a combined feed of all Lexaloffle user blogs. For Lexaloffle-related news, see @zep's blog.

All | Following | PICO-8 | Voxatron | General | Off-site
[ :: Read More :: ]

Using window{pauseable=false} in fullscreen apps does not disable the ability to pause by hitting ENTER.

Steps to reproduce:
1) Boot Picotron.
2) Add this code to main.lua (as per the manual):

window{
    pauseable=false
}

function _draw()
    cls()
    print(t())
end

3) Run it.
4) Try to pause by hitting ENTER.
5) Watch in helpless grief as you continue to fail to pause, despite mashing ENTER over and over and over.

Oh yeah, and another thing I noticed. @zep, the Proggy demo is now kinda broken since you can't type anything in the editor window without it popping up the pause menu every time you hit ENTER. (I noticed when trying to use my Froggy app today and realized that would affect Proggy too.)

P#147808 2024-05-03 03:18
[ :: Read More :: ]

Cart #exitdidierbyte-1 | 2024-05-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

A little game where you have to find the EXIT.

Orange arrows -> The EXIT is on the UP, LEFT, RIGHT, BOTTOM
0 - 9 digit -> The EXIT is at "x" case (manathan distance)
Red arrows -> The EXIT is not on this row / column

Enjoy !

P#147794 2024-05-02 21:58 ( Edited 2024-05-03 08:20)
[ :: Read More :: ]

Cart #yakibayinu-0 | 2024-05-02 | Embed ▽ | License: CC4-BY-NC-SA
3

Can you get to the final floor before your battery runs out?
Find batteries to refill the meter and find coins as a challenge.

Controls:

  • Left = A
  • Right = D
  • Jump = W
P#147790 2024-05-02 18:39
[ :: Read More :: ]

https://www.lexaloffle.com/bbs/?pid=47637#p

I can find all the other secrets but not the last newspaper

Can someone at least give me a hint?

P#147788 2024-05-02 18:22 ( Edited 2024-05-02 18:23)
[ :: Read More :: ]

Very much WIP using some of the graphical style/themes from Mint in a Vampire Survivors style game.

WIP has:

  • 2 characters with different modifiers
  • 6 weapons and 1 passive item. weapons and passives have level upgrade modifiers
  • A wave spawner (but it spawns the same stuff every wave - need more mob types)
  • Boss mobs drop a chest that will drop a random upgrade to an item in your inventory
  • Standard mobs drop xp, hitting the target xp for the level triggers a shop where you are offered 3 items (with some weighting towards items you already own)

"O" button does everything.

TODO:

  • refactor for performance, I think I can improve collision handling
  • a proper map, thinking an infinite map like vampire survivors
  • scaling of mobs with XP
  • more items
  • more enemy types
  • probably refactor how I am doing classes, it's getting messy.
  • bugs, probably lots of them
  • everything else

Cart #diphwezu-1 | 2024-05-02 | Embed ▽ | No License
4

P#147772 2024-05-02 13:30 ( Edited 2024-05-02 14:01)
[ :: Read More :: ]

Cart #picoweather-0 | 2024-05-02 | Embed ▽ | License: CC4-BY-NC-SA
2

Very early implementation of a weather feature in Picotron.

As Picotron's "fetch" is extremely limited, I deployed a very simple middleware on my own server (https://play.quee.org/?lat=0&long=0) to relay GPS coordinates between Picotron and Open Meteo (https://open-meteo.com).

GPS coordinates are obtained using ipapi (https://ipapi.co).

Kelvin Quee

P#147766 2024-05-02 12:31
[ :: Read More :: ]

Cart #ray-0 | 2024-05-02 | Embed ▽ | License: CC4-BY-NC-SA
9

Raycasting?

Controls:

  • arrow keys to move
  • mouse to look around it will eventually reach the border, you have to center the mouse again
  • x for viewing map
  • d for more detailed stats

about

After trying to make raycasting the wrong way, I came up with this method.
I really don't know if thats the correct way of doing it. My idea was to have rays being shot from the player, when they hit a wall the stop and draw a line in the center at the screen + index of the ray, also the further away the ray went, the smaller the line will be. So that make a pretty good illusion of 3d in a 2d space. You can poke around with the values like the field of vision, amount of samples taken (rays shot), the stretch of the screen and many other.

But I am having this fisheye issue. I guess you noticed that the prespectiv isn't always correct. sometimes it gets this weird round edges. I dont really know how to fix that. Also I dont know how to have walls with diffrent colors, or have a wall which is red on the left side a dark red on the right.

thanks for your interest

P#147765 2024-05-02 12:28
[ :: Read More :: ]

I know there is still so, so much yet to add in Picotron, but there are quite a few features PICO-8 has that would be so nice to also have in Picotron. I imagine a non-zero percentage of these are probably already on some official/unofficial/mental roadmap that @zep keeps for Picotron. Nevertheless, I thought I'd list some here just to get them "on paper" and not floating around in my head. Feel free to contribute your own items to this list.

Keep in mind, I have zero expectation that any of these ever actually get added, let alone added soon. So if you decide to contribute to this list, keep in mind the vibe here is more "ooh, that'd be neat if Picotron did this too" rather than "why doesn't Picotron have this feature?!"

  • Ctrl-D to duplicate the current line
  • fget(sprite_num) also supporting the fget(sprite_num, flag_num) overload
  • Shift-Enter auto-adding a closing end and then indenting
  • Having the option to show tab character indicators
  • Alt-up and alt-down jumping you one function up or down at a time
  • Ctrl-clicking a tile in the map editor to replace all instances of that sprite with the currently selected sprite (not the same as the paint bucket)
  • Showing the color number when moving the mouse over a color in the palette in the sprite editor
  • Being able to use the numpad ENTER key and not just the main ENTER key
  • At the beginning of a line, if you hold shift and press the down arrow to select that line, having it select the entire line and the line break at the end, instead of just the text of the line with no trailing line break
  • Having the cursor "remember" what character position it was at as you move up and down lines, even if it moves onto a line without enough characters to go back to the same horizontal position. It's hard to describe, but here's a GIF of what it does in PICO-8 and what it doesn't do in Picotron:

Edit:

  • R to rotate sprites in the sprite editor. Obviously would only work if the sprite was square. But if the sprite wasn't square, maybe swapping the length and width to allow rotation of non-square sprites?
P#147736 2024-05-01 21:22 ( Edited 2024-05-09 00:21)
[ :: Read More :: ]

Cart #harm_anim-0 | 2024-05-01 | Embed ▽ | License: CC4-BY-NC-SA
6

This is an audio-visual representation of the harmonic series. The sine waves are in size and
frequency, integer ratios of 1,2,3,4,5,6,7,8, using bends to get as close to the exact tones as
possible. Every time the sine waves hit a peak or valley, they play the associated note in the
harmonic series and they oscillate in the same ratio.

P#147727 2024-05-01 17:27
[ :: Read More :: ]

Cart #budewukadi-0 | 2024-05-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

Made by my son and me in about a week during that time I also taught him Lua.
My son is responsible on the level design that will make you suffer. (Suffer because you might reach a level in which the portal will actually kill you instead of teleport you and you will have to find another exit)
I consider the game very challanging.
There are 21 levels in this game. I was able to reach level 3 but my son has reached the end of the game countless times.

Special thanks to @matthughson for "advanced micro platformer" which we used.
Thanks Nerdy teachers for excellent tutorials.
And finally thanks Lazy devs for great tutorials.

P#147723 2024-05-01 16:31
[ :: Read More :: ]

I'm trying to figure out the alternate colors a bit so I can use them in a game. I'm not trying to get all 32 colors available at once. I'm happy with having 16 but just want to adjust which 16 I have. From what I've read, it seems like this is possible.

I put the display pal() swaps at the top of the cart which does switch out colors. And it works when drawing and with sprites. Cool.

pal(3,129,1) -- blue129
pal(5,140,1) -- blue140
pal(6,135,1) -- yellow135
pal(11,137,1) -- orange137
pal(12,132,1) -- brown132
pal(14,128,1) -- brown128

So I have a sprite that is drawn with original blue12 and then on the screen it displays as brown132 because of the swap. I get that and it's working.

But I want to be able to display that same sprite again in a different color.
How do you do a swap on a swap?

-- this sprite is draw in blue12 and displays as brown132 = expected
spr(1,12,96)

-- how do i make the same sprite display as orange137
-- pal(12,137) -- this doesn't work, it swaps both
-- pal(132,137) -- this doesn't work, both still brown

spr(1,62,96)

I'm still looking for the flexibility of easy pal() swaps even after I've swapped for colors in the alt palette. Maybe it's not possible in the way I'm wanting. It's certainly not the end of the world if it won't work like I think. I've found a ton of posts on the alt colors but none of them seem to address swapping within a swap.

P#147717 2024-05-01 14:54 ( Edited 2024-05-01 14:55)
[ :: Read More :: ]

Cart #ditomareyo-0 | 2024-05-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

made this for a potential thing at furconz camp 2024, which is spies and secret agent themed

heavily modified from the demos/dots3d.p8 cart by zep

P#147707 2024-05-01 08:44
[ :: Read More :: ]

Cart #gb_vines-1 | 2024-05-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
12

v1: fixed glitchy Jake (the snail) position issue

P#147692 2024-05-01 02:15 ( Edited 2024-05-01 02:32)
[ :: Read More :: ]

The response to this has been pretty positive, so I'm throwing this demo up here on the forums.
This cart is a prototype for a point and click adventure with pre-rendered 3D graphics and a custom palette.

Cart #the_lab_grows-2 | 2024-05-01 | Embed ▽ | No License
22


Included in this cart are elgopher's require module and snowkittykira's error explorer module

P#147629 2024-05-01 00:41
[ :: Read More :: ]

Cart #veggie_combo-4 | 2024-05-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
10

This game was made for the Minigame A Month April 2024 for theme Farming!

Gameplay:

Use your tools to manipulate the field, then harvest with as many points as you can.

⬅️⬇️⬆️➡️

❎: X

🅾️: C or Y/Z

When harvesting you move along in a straight line if you have the same veggies in that direction and stop before stepping on a different one.

Harvesting a veggie gives 1 point +1 for each previous same vegetable.

Combo and movement stops on a new vegetable in the direction, or upon turning into a new direction!

Tools

  • Shovel: Let's you swap two rows or columns with each other.
  • Pitchfork: moves row/colum left-right-up-down
  • Bomb: Upon stepping on, it harvests all neighbouring tiles (replaces one where you move so it doesn't break cool lines)
  • Watering can: Replaces a 3x3 area with a crop randomly selected from that area (weighted by occourance)

Seeds:

After completing a stage (or on pressing Enter) you can view the seed of the current page. Note that number down and share it with a friend. In the Load Field menu you can enter the seed and race on who can achieve more points on the same map, with the same tools!
Development:

You can read the devlogs and watch the full development VODS if you are intersted in things like that!

Devlog Articles

Full VODS

Brought to you by:

My awesome supporters over at Ko-fi page! They allow me to pursue this niche hobby of mine! If you'd like more, consider hopping over to my Ko-fi page, where I share pixel art, game devlogs, postmortems, code rundowns, all that gamedev jazz! And if you can maybe drop in a coffee so I can make the next one faster!

Thank you Csöndi and Nerdy Teachers for allowing me to keep up this hobby!

P#147672 2024-04-30 19:43 ( Edited 2024-05-03 11:07)
[ :: Read More :: ]

Hello. I was playing around with pods, and I noticed that create_diff isn't defined. here's the code (I'm 99% sure I didn't do something really stupid):

local a = {"a", "b", "c"}

local b = {"a", "c", "d"}

local pa = pod(a)
print(pa)

local pb = pod(b)
print(pb)

local pd = create_diff(pa, pb)
print(pd)

@zep was the function removed? it's in https://www.lexaloffle.com/dl/docs/picotron_pod.html#POD_Diffs, but maybe that's outdated.

EDIT: Never mind, it's called create_delta!

P#147670 2024-04-30 19:31 ( Edited 2024-04-30 19:41)
[ :: Read More :: ]

Cart #lemmings-0 | 2024-04-30 | Embed ▽ | No License
32

So I was curious if picotron would be capable of running the original Lemmings game as it was on Amiga, it turns out - yes!

Well, with the exception of no halfwidth pixels for the UI. But otherwise, you could make a 1:1 clone. Which I started doing, but then I thought it would be more fun if I pretended Psygnosis had time-travelled and asked me to make a picotron port. So I added extra in-between frames to the classic walk cycle for smoother animation, climbing gloves and umbrellas to indicate lemmings with permanent skills, fast forward (an invaluable feature added after the first games), and a nicer level select.

At the moment there are only a handful of levels and only one half-finished music track, I hope to work on more and have all the levels from the first four games (Lemmings, Oh No! More Lemmings, and the two holiday packs from '93 and '94), buuuuut I don't know that I'd be comfortable posting that here (or at all) - Lemmings is somebody else's IP after all. This is a fun hobby project for me, but if you want to play classic lemmings there's a few other options for you. I'm only really sharing this so that anyone that wants to see how I've done it can check the code, and also it's a way for me to call it a milestone I can step away from - I've got other projects with my own IP to finish!

I'll plug the current commercial Lemmings game since it feels weird not to when I'm so clearly doing as I please with the IP myself. Check it out if you like lemmings and mobile games with pretty graphics (and don't mind adverts, wheel spins, multiple in-game currencies, energy mechanics, and all that modern mobile "free-to-play" stuff)

P#147664 2024-04-30 19:17
[ :: Read More :: ]

Cart #steelhunter-0 | 2024-04-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
17

Can you take down the entire fleet?

The enemy has established a naval blockade and you're the only one that can open up supply lines. Use your mini-sub to destroy enemy ships and clear the blockade. Success will depend on a steady hand and perfect timing. But beware! There are also reported sightings of an experimental enemy sub!

  • Navigate tricky minefields
  • Tense periscope action!
  • Avoid depth charges raining from above
  • Damn the torpedoes!
  • Top secret submarine boss fight

Classic action

Controls

Arrows / D-Pad = Move submarine
Z / B-button = Action; Shoot forward
X / A-button = Shoot down

Gamepad recommended. Controller mappings will vary.

Credits

  • Design + code + art: Brian Vaughn
  • Music: Robby Duguay, Brian Follick
  • Sound: SFXP

Behind the game

By chance I played Sea Chase by Eddy Fries on the Atari 800 and while it's pretty typical Atari fare, there was enough there to get me thinking, "it would be cool if there was more." Plus, it hit one of my favorite themes that I had yet to venture into: Submarines! Battleships! Underwaterness!

The first level of Steel Hunter borrows straight from Sea Chase with a few changes before heading into a periscope shooting gallery which is my favorite part. Honestly, the periscope thing is what drove this whole project. I wanted to make a game that used that mechanic so I wrapped underwater minefield levels around it to complete the story.

This isn't a long game, it's not a particularly challenging game, and it's not technically impressive. It wasn't really intended to be any of those things and I think that's okay. I was just trying to make a fun little game and scratch my annual itch to make a video game. And FWIW, no magic was used in making this game...just straight, unprocessed code on a single cart.

As always, feedback is welcome and appreciated. Thanks to everyone that plays and to all that have supported my games over the years. Please report any bugs or crashes.

P#147656 2024-04-30 18:47
[ :: Read More :: ]

Hello, I have this code that circles an object around the player position.

It works well if the player stands still, but if the player moves the trajectory of the object goes a bit wonky. it sort of stops, or looks like it wants to go in the other direction for a bit.

How can I make it smoothly rotate around the player?

    local player = self.game_context.player
    local orbit_radius = 40  -- Distance from player to orbiting projectile
    local orbit_speed = self.speed  -- Normalized speed of orbit; consider this as fraction of a circle per frame

    for p in all(self.projectiles) do
        p.angle += orbit_speed
        if (p.angle > 360) p.angle = 0
        p.x = player.x + (player.attributes.w / 2) + orbit_radius * cos(p.angle/360)
        p.y = player.y + (player.attributes.h / 2) + orbit_radius * sin(p.angle/360)
        -- Handle projectile duration and collision
        p.duration -= 1 
    end     
P#147652 2024-04-30 15:18
[ :: Read More :: ]

Cart #todehdosu-0 | 2024-04-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1


Cart #todehdosu-0 | 2024-04-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

P#147635 2024-04-30 12:11 ( Edited 2024-04-30 15:07)
View Older Posts